# include "stdio.h"
# include "limits.h"

int main() {
    short int short_int = 0;
    int i = 0;
    long int long_int = 0;
    long long int longlong_int = 0;
    unsigned int uint = -1;

    //__MINGW_EXTENSION typedef unsigned __int64 size_t;
    // 是64位int的一个别名
    size_t size_of_int = sizeof(int);
    // %x:hex 十六进制表示
    // %o:oct 八进制表示
    // %d:decimal 十进制位表示
    // %hd：short decimal
    // %ld:long decimal
    // %lld:long long decimal
    // \n:new line
    printf("short int :%llu\n", sizeof(short int));
    printf("int :%llu\n", sizeof(int));
    printf("long int :%llu\n", sizeof(long int));
    printf("long int :%llu\n", sizeof(long long int));
    //无法表示-1，-1是输出为：4294967295(无法表示)
    //%u:输出无符号整型
    printf("unsigned int :%u\n", uint);

    printf("int.max:%d\tint.min:%d\n", INT_MAX, INT_MIN);
    printf("int.max:%ld\tint.min:%ld\n", LONG_MAX, LONG_MIN);
    //所有位数用于表示整数，所以max>int.max。
    printf("unsigned int.max:%u\tunsigned int.min:%u\n", UINT_MAX, 0);
    return 0;
}